/*
 *  $Id: Image.cs 1232 2010-12-07 13:16:37Z thenn.erannor $
 *  This file is a part of Ragima CCG.
 *  (C) 2008-2010 Ragima development group.
 *
 *  Licensed under the terms of the GNU GPL License version 2.
 *
 */

using AgateLib.DisplayLib;

using Nereal.Serialization;

namespace Ragima.UI {
    /// <summary>
    /// Изображение: виджет, просто выводящий картинку.
    /// </summary>
    [TypeId("image")]
    public class Image : Widget {
        private Resource<Surface> _image;

        public Image() : this(string.Empty) {
        }
        public Image(string id) {
            _image = new Resource<Surface>(id);
        }

        /// <summary>
        /// Ресурс с изображением.
        /// </summary>
        [XmlName("surface")]
        public Resource<Surface> ImageResource {
            get { return _image; }
            set { _image = value; }
        }

        /// <summary>
        /// Рисует изображение.
        /// </summary>
        public override void Draw() {
            if (Resource.Exists(_image))
                _image.Data.Draw(AbsoluteBounds);
            else
                DrawBackground();
        }
    }
}
